同時性が安全ではない操作

このセクションのすべてのメンバー関数は、シリアルにのみ実行できます。これらのメンバー関数を (同時処理の安全性が保障される) 他のメソッドと同時に実行する場合、動作は未定義です。

予約

void reserve( size_type n );

少なくとも n 要素のメモリーを予約します。

スローn > max_size() の場合、std::length_error

リサイズ

void resize( size_type n );

n < size() の場合、ベクトルは最初の n 個の要素に縮小されます。

それ以外は、ベクトルの最後に n - size() の新しい要素をデフォルト構築のインプレースで追加します。


void resize( size_type n, const value_type& value );

n < size() の場合、ベクトルは最初の n 個の要素に縮小されます。

それ以外は、ベクトルの最後に valuen - size() 個のコピーを追加します。

shrink_to_fit

void shrink_to_fit();

未使用のベクトルを削除します。

このメソッドを呼び出すと、メモリー内の内部ベクトル表現を再編成できます。

clear

void clear();

コンテナーからすべての要素を削除します。

swap

void swap( concurrent_vector& other ) noexcept(/*See below*/);

*thisother の内容を入れ替えます。

std::allocator_traits<allocator_type>::propagate_on_container_swap::valuetrue の場合、アロケーターを入れ替えます。

そうでない場合、get_allocator() != other.get_allocator() の動作は未定義です。

例外: 具体的に noexcept は以下です。


noexcept(std::allocator_traits<allocator_type>::propagate_on_container_swap::value || 
        std::allocator_traits<allocator_type>::is_always_equal::value